

                       RequestLinear v1.1  -  HELP FILE  (04/09/2006)


GENERAL INFO:


     * RequestLinear supports all colorspaces

       A little diagram to show downstream vs upstream in a script:

               UpstreamFilter()
               RequestLinear()
               DownstreamFilter()

       RequestLinear makes sure that all requests for frames from the filter
    downstream are turned into linear requests for frames from the filter
    upstream of it.  This can be useful when you want to use a filter that
    requests frames non-linearly in combination with a filter that requires
    linear requests.

       For example, if the filter downstream requests frame 0 and then requests
    frame 5, RequestLinear would get the request for frame 5 and then request
    frames 1, 2, 3, 4, and then 5 from the filter upstream.

       It is possible to set a maximum number of frames for the gap that it
    will fill and to specify how many frames it should cache.     


   syntax=>

        RequestLinear(int rlim, int clim, bool rall, bool debug)



PARAMETERS:


     rlim -

         If the current frame request if greater than the last delivered frame
         and the difference between the two is less than or equal to rlim, then
         all frames between the last request and the current request will be
         requested.  If the current request is less than or equal to the 
         last request then the distance is measured from 0 to the current
         request. rlim must be >= 0.

         Default:  50  (int)


     clim -

         Sets the number of frames that the filter should cache.  Frames that
         are in the cache can be delivered without having to request any frames
         from upstream.  clim must be >= 0.

         Default:  10  (int)


     rall -

         If true, it is the same as if rlim is set to infinity.  If false,
         it does nothing.

         Default:  false  (bool)


     debug -

         Will show which frames are being requested from upstream and
         downstream.  Use the utility "Debugview" from sysinternals to
         view the output.

         Default:  false  (bool)



EXAMPLE SCENARIOS:


   1.) Downstream filter has requested every frame from 0 to 20 and then
       requests frame 25.

           if rlim >= 5 or rall = true, then RequestLinear will request frames
              21 through 25 from the upstream filter

           else, frame 25 is requested by itself


   2.) Downstream filter has requested every frame from 0 to 50 and then
       requests frame 10.

           if clim >= 40, then frame 10 will be returned from the cache w/o
              making any upstream requests

           else if rlim >= 10 or rall = true, then frames 0 through 10 will be
              requested from the upstream filter

           else, frame 10 will be requested by itself



CHANGE LIST:


   v1.1 - (4/09/2006)

      - fixed not testing if n <= rlim if the current request was <=
           to the last request (it was only testing if rall=true)

   v1.0 - (3/23/2006)

      - initial release



contact:   forum.doom9.org  nick = tritical  or  email:  kes25c@mizzou.edu
